paging_init (void)
{
unsigned int mpt_order;
+ unsigned long i;
+
/* Create machine to physical mapping table
* NOTE: similar to frame table, later we may need virtually
* mapped mpt table if large hole exists. Also MAX_ORDER needs
panic("Not enough memory to bootstrap Xen.\n");
printk("machine to physical table: 0x%lx\n", (u64)mpt_table);
- memset(mpt_table, INVALID_M2P_ENTRY, mpt_table_size);
+ for (i = 0; i < (1UL << mpt_order); i++) {
+ mpt_table[i] = INVALID_M2P_ENTRY;
+ }
/* Other mapping setup */
zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page));
#undef machine_to_phys_mapping
#define machine_to_phys_mapping mpt_table
-#define INVALID_M2P_ENTRY (~0U)
-#define VALID_M2P(_e) (!((_e) & (1U<<63)))
+#define INVALID_M2P_ENTRY (~0UL)
+#define VALID_M2P(_e) (!((_e) & (1UL<<63)))
#define IS_INVALID_M2P_ENTRY(_e) (!VALID_M2P(_e))
#define set_gpfn_from_mfn(mfn, pfn) (machine_to_phys_mapping[(mfn)] = (pfn))